package com.systop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.systop.domain.vo.GoodsStockVo;
import com.systop.entity.Classify;
import com.systop.entity.Goods;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface GoodsService extends IService<Goods> {
    //查询商品信息
    public List<Goods> showGoodsInfo(Goods goods);
    //查询符合条件数据总数
    public int countGoods(Goods goods);

    //前台首页随机获取商品信息
    public List<Goods> getRandGoods();
    //前台首页获取最新商品信息
    public List<Goods> getNewGoods();
    //前台分类页获取所有商品分类信息
    public List<Goods> getAllClassAndGoodsInfo();

    //添加修改下拉框数据
    public List<Classify> findAllClassifyName();

    //添加数据查重
    public int findGoodsBygoodsName(Goods goods);
    //添加商品数据
    public int addGoods(Goods goods);

    //查询订单表中是否存在相应商品订单
    public int findOrder(Goods goods);
    //删除数据方法
    public int delGoods(Goods goods);

    //修改数据查重
    public int findDataUnlessId(Goods goods);
    //更新数据方法
    public int udpGoods(Goods goods);

    //根据商品ID查询商品是否存在
    public boolean goodsIsExist(List<GoodsStockVo> goodsStockVoList);

    //根据商品ID批量查询商品信息
    public List<Goods> findGoodsByGoodsIds(List<GoodsStockVo> goodsStockVoList);

    Goods getGoodsById(Long goodsId);

    BigDecimal queryPrice(Long goodsId);
}
